Server virtualization poses issues in data center networks, such as having the range of virtual network restricted to L2 domain, Media Access Control (MAC) address table overflow on Ethernet switches, and limited IDs to partition traffic for different virtual machines (VMs), on physical servers, also referred to as hosts. Virtual eXtensible Local Area Network (VXLAN) is an overlay technology that addresses the above issues. A VXLAN is a network virtualization technology to segregate traffic in a physical data network into multiple virtual networks. VXLAN extends a L2 virtual network across L3 networks by tunneling the L2 MAC traffic from the individual VMs over the L3 Internet Protocol (IP) core network. Each VXLAN endpoint, e.g., at a physical server comprising VMs, can encapsulate VM traffic into an IP tunnel upon egress and decapsulate VM traffic upon ingress. Thus, each individual VM's IP address is kept private and hidden to external switches.
The VXLAN divides a physical network into multiple virtual private networks using a different VXLAN ID (VNI) to uniquely identify each virtual private network. Each encapsulated packet carries a VNI, and hence the VM traffic can be classified into different partition domains. Since different virtual private networks can be owned and managed by different tenants (e.g., operators or administrators), the private IP addresses assigned to endpoints in these virtual private networks could overlap. The endpoints can be VMs or applications running on a VM. When these endpoints communicate with an external endpoint, e.g., in a public network, a mechanism is needed to translate these overlapping IP addresses into unique public IP addresses in order to avoid ambiguity and ensure proper packet forwarding and operations.